আনসিবল (Ansible)

নেটওয়ার্ক ডিভাইস কনফিগারেশন

Latest Technologies - আনসিবল (Ansible) - প্র্যাকটিস প্রোজেক্টস | NCTB BOOK

Ansible ব্যবহার করে নেটওয়ার্ক ডিভাইস কনফিগারেশন একটি অত্যন্ত কার্যকরী এবং সহজ প্রক্রিয়া। এটি আপনাকে নেটওয়ার্ক ডিভাইস যেমন Cisco, Juniper, Arista, এবং অন্যান্য নেটওয়ার্ক হার্ডওয়্যারের কনফিগারেশন স্বয়ংক্রিয়ভাবে সম্পাদন করতে সহায়তা করে। চলুন, কিভাবে Ansible এর মাধ্যমে নেটওয়ার্ক ডিভাইস কনফিগার করা যায় তা দেখি।

প্রয়োজনীয়তা

  1. Ansible ইনস্টলেশন: আপনার সিস্টেমে Ansible ইনস্টল থাকতে হবে।
  2. নেটওয়ার্ক ডিভাইসের অ্যাক্সেস: SSH বা অন্য কোনো প্রোটোকল মাধ্যমে নেটওয়ার্ক ডিভাইসে লগ ইন করার জন্য সঠিক অনুমতি থাকতে হবে।
  3. প্লেবুক: আপনার কনফিগারেশন প্লেবুক তৈরি করতে হবে, যেখানে নেটওয়ার্ক ডিভাইসের কনফিগারেশন উল্লেখ করা হবে।
  4. ইনভেন্টরি ফাইল: নেটওয়ার্ক ডিভাইসের তথ্য সংরক্ষণের জন্য একটি ইনভেন্টরি ফাইল তৈরি করতে হবে।

উদাহরণ: Cisco IOS ডিভাইসে কনফিগারেশন

১. ইনভেন্টরি ফাইল তৈরি করা

আপনার নেটওয়ার্ক ডিভাইসের তথ্য সংরক্ষণের জন্য একটি ইনভেন্টরি ফাইল তৈরি করুন:

# inventory_cisco.yml
all:
  children:
    cisco_ios:
      hosts:
        ios_device_1:
          ansible_host: 192.168.1.1
          ansible_user: admin
          ansible_password: your_password
          ansible_network_os: ios

২. প্লেবুক তৈরি করা

এখন একটি প্লেবুক তৈরি করুন যা Cisco IOS ডিভাইসে কনফিগারেশন সম্পন্ন করবে:

# ios_config_playbook.yml
---
- name: Configure Cisco IOS device
  hosts: cisco_ios
  gather_facts: no
  tasks:
    - name: Configure hostname
      ios_config:
        lines:
          - hostname Ansible_Router

    - name: Create VLAN 10
      ios_config:
        lines:
          - vlan 10
          - name VLAN10

    - name: Configure interface
      ios_config:
        lines:
          - interface GigabitEthernet0/1
          - description Connected to Internet
          - no shutdown

    - name: Save the configuration
      ios_config:
        save: yes

ব্যাখ্যা

  • gather_facts: no সেট করা হয়েছে কারণ নেটওয়ার্ক ডিভাইসে ফ্যাক্টস সংগ্রহ করার প্রয়োজন নেই।
  • ios_config: এটি Cisco IOS ডিভাইসে কনফিগারেশন প্রয়োগ করার জন্য ব্যবহৃত হয়।
    • lines: এখানে ডিভাইসে কোন কোন কনফিগারেশন প্রয়োগ করতে চান তা উল্লেখ করা হয়েছে।

৩. প্লেবুক চালানো

এখন আপনি এই প্লেবুকটি চালাতে পারেন নিচের কমান্ডের মাধ্যমে:

ansible-playbook -i inventory_cisco.yml ios_config_playbook.yml --ask-vault-pass

৪. নেটওয়ার্ক ডিভাইসে Juniper কনফিগারেশন

ইনভেন্টরি ফাইল তৈরি করা

Juniper ডিভাইসের জন্য ইনভেন্টরি ফাইল তৈরি করুন।

# inventory_juniper.yml
all:
  children:
    juniper:
      hosts:
        juniper_device_1:
          ansible_host: 192.168.2.1
          ansible_user: admin
          ansible_password: your_password
          ansible_network_os: junos

Juniper ডিভাইসে কনফিগারেশন প্লেবুক

Juniper ডিভাইসে কনফিগারেশন করার জন্য একটি প্লেবুক তৈরি করুন।

# junos_config_playbook.yml
---
- name: Configure Juniper device
  hosts: juniper
  gather_facts: no
  tasks:
    - name: Configure hostname
      junos_config:
        lines:
          - set system host-name Ansible_Router

    - name: Create VLAN 10
      junos_config:
        lines:
          - set vlans VLAN10 vlan-id 10

    - name: Configure interface
      junos_config:
        lines:
          - set interfaces ge-0/0/0 description "Connected to Internet"
          - set interfaces ge-0/0/0 enable

    - name: Commit the configuration
      junos_config:
        commit: yes

৫. প্লেবুক চালানো

এখন আপনি এই প্লেবুকটি চালাতে পারেন নিচের কমান্ডের মাধ্যমে:

ansible-playbook -i inventory_juniper.yml junos_config_playbook.yml --ask-vault-pass

কনফিগারেশন টাস্কে ব্যবহৃত অন্যান্য Ansible মডিউল

  • ios_command: Cisco IOS ডিভাইসে সরাসরি কমান্ড চালানোর জন্য।
  • nxos_config: Cisco NX-OS ডিভাইসে কনফিগারেশন করার জন্য।
  • junos_command: Juniper ডিভাইসে সরাসরি কমান্ড চালানোর জন্য।

নেটওয়ার্ক কনফিগারেশনের সেরা অভ্যাস

  1. নেটওয়ার্ক কনফিগারেশন ব্যাকআপ: পরিবর্তন করার আগে সব সময় ব্যাকআপ নিতে ভুলবেন না।
  2. প্রকৃত ডিভাইসে পরীক্ষা করা: কোনও পরিবর্তন করার আগে ড্রাই রান বা ল্যাব পরিবেশে পরীক্ষা করুন।
  3. নথিপত্র তৈরি: কনফিগারেশন পরিবর্তনের সকল নথিপত্র সংরক্ষণ করুন।
  4. সংবেদনশীল তথ্য এনক্রিপ্ট করা: Ansible Vault ব্যবহার করে পাসওয়ার্ড এবং সংবেদনশীল তথ্য সুরক্ষিত করুন।

উপসংহার

Ansible নেটওয়ার্ক ডিভাইস কনফিগারেশনের জন্য একটি শক্তিশালী এবং কার্যকরী টুল। এটি আপনাকে স্বয়ংক্রিয়ভাবে নেটওয়ার্ক ডিভাইস কনফিগার, পরিচালনা এবং অটোমেট করতে সক্ষম করে। Ansible ব্যবহার করে আপনি নিরাপদ এবং কার্যকরীভাবে নেটওয়ার্ক ডিভাইস পরিচালনা করতে পারবেন।

Promotion